Repository navigation
Stop trusting compromised eMudhra roots in the exploration-tests image - #13026
eliottness wants to merge 4 commits into
Conversation
🟢 Java Benchmark SLOs — All performance SLOs passed
PR vs. master results
Commit: Load and DaCapo benchmarks can be triggered manually in the GitLab pipeline. Results will appear in the Benchmarking Platform UI after completion. |
Upgrade ca-certificates in the debian:bookworm-slim base and delete emSign ECC Root CA - G3 / AAA Certificate Services from every SDKMAN and Gradle-provisioned JDK cacerts in the exploration-tests image (IR-62343). The image is published by the manual build-exploration-tests-image job; re-run it after merge. Jira: APPSEC-71277
626140e to
e253125
Compare
Debugger benchmarksParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 9 metrics, 6 unstable metrics. See unchanged results
Request duration reports for reportsgantt
title reports - request duration [CI 0.99] : candidate=None, baseline=None
dateFormat X
axisFormat %s
section baseline
noprobe (354.219 µs) : 314, 394
. : milestone, 354,
basic (329.222 µs) : 323, 335
. : milestone, 329,
loop (8.096 ms) : 8033, 8159
. : milestone, 8096,
section candidate
noprobe (342.763 µs) : 318, 368
. : milestone, 343,
basic (326.277 µs) : 321, 332
. : milestone, 326,
loop (8.107 ms) : 8034, 8181
. : milestone, 8107,
|
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e25312578b
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
Deleting Gradle's generated API jar leaves AAA Certificate Services in its source google.p12 truststore. Gradle can continue trusting that root independently of JDK cacerts and regenerate the removed snapshot.
🤖 Bits Code Review · Commit e253125
Preinstall Java 11 and explicitly constrain Gradle toolchain paths so the OkHttp job cannot create an unscrubbed JDK at runtime. Scrub all four affected roots before resolving Maven and Gradle dependencies, and remove them from cached Google PKCS12 and JKS truststores after warm-up. Co-authored-by: sisyphus-dev-ai <sisyphus-dev-ai@users.noreply.github.com>
Addresses review: the Java 11 and 17 SDKMAN versions are declared once as ARGs and reused.
|
/merge |
|
View all feedbacks in Devflow UI.
The expected merge time in
Build pipeline has failing jobs for 576f565: What to do next?
DetailsSince those jobs are not marked as being allowed to fail, the pipeline will most likely fail. |
|
/merge |
|
View all feedbacks in Devflow UI.
The expected merge time in
Build pipeline has failing jobs for 7790d03: What to do next?
DetailsSince those jobs are not marked as being allowed to fail, the pipeline will most likely fail. |
|
/merge |
|
View all feedbacks in Devflow UI.
The expected merge time in
Build pipeline has failing jobs for f66a452: What to do next?
DetailsSince those jobs are not marked as being allowed to fail, the pipeline will most likely fail. |
|
/merge |
|
View all feedbacks in Devflow UI.
The expected merge time in
Build pipeline has failing jobs for 4ee80f1: What to do next?
DetailsSince those jobs are not marked as being allowed to fail, the pipeline will most likely fail. |
What Does This Do
Stops the debugger exploration-tests image from trusting emSign Root CA - G1/G2, emSign ECC Root CA - G3, and AAA Certificate Services.
dd-java-agent/agent-debugger/exploration-tests/Dockerfile.exploration-tests(basedebian:bookworm-slim):ca-certificatesand re-runsupdate-ca-certificates -f;cacertsbefore Maven/Gradle download build inputs;google.p12andgoogle.jksstores embedded in cached google-api-client jars after the OkHttp Gradle warm-up;gradle-api-*.jarfiles, which embed an old CA snapshot.The APPSEC-71273 ledger lists 17 impacted image references in this repository: 0 fixed here, 1 fixed at their in-repo image source (clean once that image is republished), 16 follow-ups.
Motivation
Incident IR-62343: the affected eMudhra/AAA trust anchors in Java include emSign Root CA - G1/G2, emSign ECC Root CA - G3, and AAA Certificate Services. The JDKs still include some of these roots even in the newest available Temurin 11/17 builds, so the image must remove them before dependency resolution.
Additional Notes
registry.ddbuild.io/ci/dd-trace-java:exploration-testsimage, so this change takes effect only after someone runs the manualbuild-exploration-tests-imagejob once it is merged. That tag has no clean published version yet.exploration-tests-method-jsoupfailed on this PR. The failure cannot come from this Dockerfile, because the job used the unchanged prebuilt image; touchingdd-java-agent/agent-debugger/**only made the job run. Other PRs touching the debugger passed the same job that day (Require explicit locales and charsets in tracer code #13020 and Close tracers built by debugger tests (quick fix) #13040), so this PR was rebased onto master to re-run the pipeline.Follow-ups (not in this PR):
registry.ddbuild.io/images/mirror/amazon/aws-cli:2.4.29,486234852809.dkr.ecr.us-east-1.amazonaws.com/ci/benchmarking-platform:java-dsm-kafka,486234852809.dkr.ecr.us-east-1.amazonaws.com/ci/benchmarking-platform:java-debugger,registry.ddbuild.io/images/mirror/dd-apm-test-agent/ddapm-test-agent:v1.64.1,registry.ddbuild.io/images/mirror/datadog/agent:7.40.1,registry.ddbuild.io/images/mirror/sqlserver:latest,registry.ddbuild.io/images/mirror/dd-trace-java-docker-build:ci-base,registry.ddbuild.io/images/mirror/dd-trace-java-docker-build:ci-7,registry.ddbuild.io/images/mirror/dd-trace-java-docker-build:ci-8,registry.ddbuild.io/images/mirror/dd-trace-java-docker-build:ci-11,registry.ddbuild.io/images/mirror/dd-trace-java-docker-build:ci-17,registry.ddbuild.io/images/mirror/dd-trace-java-docker-build:ci-21,registry.ddbuild.io/images/mirror/dd-trace-java-docker-build:ci-25.gcr.io/google.com/cloudsdktool/google-cloud-cli:emulators,mcr.microsoft.com/mssql/server:latest.486234852809.dkr.ecr.us-east-1.amazonaws.com/ci/agent-key-management-tools/gpg:1.Contributor Checklist
type:and (comp:orinst:) labels in addition to any other useful labelsclose,fix, or any linking keywords when referencing an issueUse
solvesinstead, and assign the PR milestone to the issueJira ticket: APPSEC-71277 (parent APPSEC-71273)